<?php
namespace Admin\Controller;
use Util\Upload;
class ProductController extends BaseController {

     function index(){
        $rows=M('product')->field('tp_product.*,tp_category.name')->join('tp_category ON tp_product.cid=tp_category.id','left')->select();
        foreach($rows as &$v){    //php 传值 传引用(传址)
            $imgs= explode('|',$v['images']);

            if($imgs){
                $str="";
                foreach($imgs as $img){
                    $img=__ROOT__.trim($img,'.'); //加上根目录 去掉. 转换成绝对路径
                   $str.="<img src=\"$img\" alt=\"loading...\" height=\"40px\"/>&nbsp;";
                }
                $v['images']=$str;
            }
        }

        $this->assign('rows',$rows);
        $this->display();
    }

    function insert(){
         if(IS_POST){
             $upload=new Upload();
             $result=$upload->upload();
             if(is_array($result)){
                 if($result){
                     $_POST['images']=implode('|',$result['images']);
                     $_POST['thumb']=implode('|',$result['thumb']);
                     $_POST['water']=implode('|',$result['water']);
                 }
             }else{
                 $uploadErr=$result;
             }


             $_POST["ctime"]= time();
             $res=M("product")->add(I('post.'));//返回记录的ID值
             if($res){
                 $message=array(
                     'error' => 0,
                     'message' => '新增成功',
                 );
             }else{
                 $message=array(
                     'error'=>1,
                     'message'=>'新增失败',
                 );
             }
             $message['uploaderr']=$uploadErr;
             $this->ajaxReturn($message);
         }

        $category=M('category')->select();
        $this->assign('category',$category);
        $this->display();
    }

    function update($id=0){

        if($id>0){
            $row=M('product')->find($id); //->where(array('id'=>$id))
            if($row){
                if(IS_POST){
                    $upload=new Upload();
                    //对之前上传的图片，根据$_post['checked]的值进行处理
                    $images=explode('|',$row['images']); //原图
                    $thumb=explode('|',$row['thumb']); //缩略图
                    $water=explode('|',$row['water']); //水印图

                    $images=$upload->test($images);
                    $thumb=$upload->test($thumb);
                    $water=$upload->test($water);

                    //新上传的图片
                    $result=$upload->upload();
                    if(is_array($result)){
                        if($result){
                            $images=array_merge($images,$result['images']);
                            $thumb=array_merge($thumb,$result['thumb']);
                            $water=array_merge($water,$result['water']);

                        }
                    }else{
                        $uploadErr=$result;
                    }

                    $_POST['images']=implode('|',$images);
                    $_POST['thumb']=implode('|',$thumb);
                    $_POST['water']=implode('|',$water);
                    $_POST["utime"]= time();
                    $res=M("product")->where(array('id'=>$id))->save(I('post.'));//返回记录的ID值
                    if($res){
                        $message=array(
                            'error' => 0,
                            'message' => '添加成功',
                        );
                    }else{
                        $message=array(
                            'error'=>1,
                            'message'=>'添加失败',
                        );
                    }
                    $message['uploaderr']=$uploadErr;
                    $this->ajaxReturn($message);
                }
                $this->assign('row',$row);
                $this->images=explode('|',$row['images']);

                $category=M('category')->select();
                $this->assign('category',$category);
                $this->display();
            }else{
                die('此id的产品没有找到，可能已删除');
            }

        }else{
            die('没有指定ID');
        }

    }


    /*function upload($maxSize=1048576,$check='check'){
        $check=I('post.'.$check); //从post中获取检测的数组
        $images_file=array();
        //$crops=array();
        $thumbs=array();
        $waters=array();
        $upload=new Upload(); //实例化上传类
        $upload->maxSize=$maxSize; //设置文件最大是2M  2的10次方
        $upload->exts= array('jpg','gif','png','jpeg');//设置图片上传类型
        $upload->rootPath='./Public/Uploads/'.CONTROLLER_NAME.'/'; //根目录

        if(!is_dir($upload->rootPath)){
            //is_dir判断目录是否存在
            mkdir($upload->rootPath,0777,true); //如果不存在就创建
        }
        $result=$upload->upload();  //上传

        if($result){

            $check=I('post.check',array()); //$_POST['check]
            foreach($result as $k=>$v){ //遍历返回结果
                $file=$upload->rootPath.$v['savepath'].$v['savename'];//上传的原图
                //如果图片序号在check数组中，表示用户预览时没有删除图片
                if(in_array($k,$check)){

                    //$crop_file=$upload->rootpath.$v['savepath'].'crop_'.$v['savename'];//裁剪之后要保存的文件位置名称
                    $img=new \Think\Image(); //实例化image类
                    //打开原图  裁剪  保存
                    //$img->open($file)->crop(200,100,200,200)->save($crop_file);
                    //缩略图
                    $thumb_file=$upload->rootPath.$v['savepath'].'thumb_'.$v['savename'];
                    $img->open($file)->thumb(200,200)->save($thumb_file);
                    //水印图
                    $water_file=$upload->rootPath.$v['savepath'].'water_'.$v['savename'];
                    $png='./public/logo.png';
                    $img->open($file)->water($png,5,50)->save($water_file);
                    //$crops[]=$crop_file; //写入数组


                    $images_file[]=$file;
                    $thumbs[]=$thumb_file;
                    $waters[]=$water_file;
                }else{
                    if(is_file($file)){
                        unlink($file);//删除原图
                    }
                }
            }

            /*$_POST['images']=implode('|',$images_file); //将上传的文件转换成字符串
            $_POST['thumb']=implode('|',$thumbs); //将上传的文件转换成字符串
            $_POST['water']=implode('|',$waters); //将上传的文件转换成字符串*/

        /*}else{
            return $upload->getError(); //如果不成功就获取错误信息
        }
            return array(
                'images'=>$images_file,//原图
                'thumb'=>$thumbs,//缩略图
                'water'=>$waters,//水印图
            );

    }

    function test($files,$check='checked'){
         $checked=I('post.'.$check,array());
        foreach($files as $k=>$v){
            //如果图片的下标在$_post['checked']中，用户就没有删除此图，否则就是已经删除，此时要把服务器上的图片也删掉
           if(!in_array($k,$checked)){
               if(is_file($v)){ //检测文件是否存在
                   unlink($v); //删除文件
                   unset($files[$k]); //将数组中对应的值删掉
                }
            }
        }
        return $files;
    }*/









}